﻿using System.Collections.ObjectModel;
namespace Renci.Data.Interop.OpenGIS.Gml
{
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "2.0.50727.3038")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace = "http://www.opengis.net/gml")]
    [System.Xml.Serialization.XmlRootAttribute("OperationMethod", Namespace = "http://www.opengis.net/gml", IsNullable = false)]
    public class OperationMethodType : OperationMethodBaseType
    {
        private Collection<IdentifierType> _methodIds = new Collection<IdentifierType>();
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("methodID")]
        public Collection<IdentifierType> MethodIds 
        {
            get
            {
                return this._methodIds;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("remarks")]
        public StringOrRefType Remarks { get; set; }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("methodFormula")]
        public CodeType MethodFormula { get; set; }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("sourceDimensions", DataType = "positiveInteger")]
        public string SourceDimensions { get; set; }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("targetDimensions", DataType = "positiveInteger")]
        public string TargetDimensions { get; set; }

        private Collection<AbstractGeneralOperationParameterRefType> _usesParameters = new Collection<AbstractGeneralOperationParameterRefType>();
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("usesParameter")]
        public Collection<AbstractGeneralOperationParameterRefType> UsesParameters 
        {
            get
            {
                return this._usesParameters;
            }
        }
    }
}
